creative commons
library(jsonlite)
library(tidyverse)
Registered S3 methods overwritten by 'dbplyr':
method from
print.tbl_lazy
print.tbl_sql
-- Attaching packages -------------------------------------------------------------------------------------------- tidyverse 1.3.1 --
v ggplot2 3.3.5 v purrr 0.3.4
v tibble 3.1.6 v dplyr 1.0.7
v tidyr 1.1.4 v stringr 1.4.0
v readr 2.1.0 v forcats 0.5.1
-- Conflicts ----------------------------------------------------------------------------------------------- tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x purrr::flatten() masks jsonlite::flatten()
x dplyr::lag() masks stats::lag()
library(tidyjson)
Attaching package: ‘tidyjson’
The following object is masked from ‘package:jsonlite’:
read_json
The following object is masked from ‘package:stats’:
filter
#Datos de declaraciones
declaraciones <- fromJSON("data/declaraciones.json", flatten = TRUE)
#Datos de personas servidoras públicas sancionadas por actos de corrupción
servidores <- fromJSON("data/Sistema3Servidores.json",flatten = TRUE)
#Datos de personas servidoras públicas que intervienen en contrataciones públicas
sistemas2 <- fromJSON("data/SistemaS2.json", flatten = TRUE )
save(declaraciones_muestra, file="declaraciones_muestra.Rda")
load("declaraciones_muestra.RData")
declaraciones_muestra$metadata
#Educacion
#años de haber finalizado sus estudios
declaraciones_muestra$declaracion$situacionPatrimonial$datosCurricularesDeclarante$escolaridad[[1]]$fechaObtencion
declaraciones_muestra$declaracion$situacionPatrimonial$datosGenerales$situacionPersonalEstadoCivil
#Ubicacion
declaraciones_muestra$declaracion$situacionPatrimonial$domicilioDeclarante$domicilioMexico
#cargo y contrato, fechaTomaPosesion, ubicacion trabajo
declaraciones_muestra$declaracion$situacionPatrimonial$datosEmpleoCargoComision
# podemos saber si tiene experiencia laboral, y tiempo de trabajar,
# tiempo en el sector publico
declaraciones_muestra$declaracion$situacionPatrimonial$experienciaLaboral$experiencia[[2]]
# informacion de la pareja, y dependientes economicos
declaraciones_muestra$declaracion$situacionPatrimonial$datosPareja
declaraciones_muestra$declaracion$situacionPatrimonial$datosDependienteEconomico
#ingresos
declaraciones_muestra$declaracion$situacionPatrimonial$ingresos
#inmuebles precio y contrastar si vale lo declarado
declaraciones_muestra$declaracion$situacionPatrimonial$bienesInmuebles$
declaraciones$declaracion$situacionPatrimonial$datosGenerales$rfc %>%
count(rfc, sort = T)
declaraciones_muestra
declaraciones_muestra %>% unnest() %>% unnest()%>% unnest()
Warning: `cols` is now required when using unnest().
Please use `cols = c(`_id`, metadata, declaracion, interes)`
Warning: `cols` is now required when using unnest().
Please use `cols = c(situacionPatrimonial, interes, participacion)`
Warning: `cols` is now required when using unnest().
Please use `cols = c(datosGenerales, domicilioDeclarante, datosCurricularesDeclarante,
datosEmpleoCargoComision, experienciaLaboral, datosPareja,
datosDependienteEconomico, ingresos, bienesInmuebles, vehiculos,
bienesMuebles, inversiones, adeudos, prestamoOComodato, actividadAnualAnterior,
participacion, participacionTomaDecisiones, apoyos, representacion,
clientesPrincipales, beneficiosPrivados, fideicomisos, participacion1)`
# lugar donde laborab
servidores$servidorPublicoSancionado.rfc = do.call(rbind.data.frame, servidores$servidorPublicoSancionado.rfc)
servidores <- servidores %>%
unnest(servidorPublicoSancionado.rfc)
servidores
# lugar donde laborab
servidores[1,] %>%
str()
tibble [1 x 27] (S3: tbl_df/tbl/data.frame)
$ id : chr "a94cacc9-53ba-40d1-bc04-08b765010ac0"
$ fechaCaptura : chr "2010-01-01"
$ expediente : chr "SANC/bed70faf"
$ autoridadSancionadora : chr "Contraloría Interna"
$ tipoSancion :List of 1
..$ :'data.frame': 1 obs. of 3 variables:
.. ..$ clave : chr "SE"
.. ..$ valor : chr "SANCIÓN ECONÓMICA"
.. ..$ descripcion: chr ""
$ causaMotivoHechos : chr "DESVÍO DE RECURSOS PÚBLICOS"
$ observaciones : chr "Al contrario del pensamiento popular, el texto de Lorem Ipsum no es simplemente texto aleatorio. Tiene sus raic"| __truncated__
$ institucionDependencia.nombre : chr "Comisión Federal de Electricidad"
$ rfc : chr "PUDD930927"
$ homoClave : chr "E33"
$ servidorPublicoSancionado.curp : chr "PUDD930927MVZG N02"
$ servidorPublicoSancionado.nombres : chr "Daniela"
$ servidorPublicoSancionado.primerApellido : chr "Puga"
$ servidorPublicoSancionado.segundoApellido: chr "de Anda"
$ servidorPublicoSancionado.puesto : chr "Jefe de departamento"
$ servidorPublicoSancionado.genero.clave : chr "M"
$ servidorPublicoSancionado.genero.valor : chr "FEMENINO"
$ tipoFalta.clave : chr "ASEX"
$ tipoFalta.valor : chr "COMETER O TOLERAR CONDUCTAS DE ACOSO SEXUAL"
$ tipoFalta.descripcion : chr "COMETER O TOLERAR CONDUCTAS DE ACOSO SEXUAL"
$ resolucion.fechaResolucion : chr "2010-01-01"
$ multa.monto : num 13185
$ multa.moneda.clave : chr "MXN"
$ multa.moneda.valor : chr "Peso Mexicano"
$ inhabilitacion.plazo : chr NA
$ inhabilitacion.fechaInicial : chr NA
$ inhabilitacion.fechaFinal : chr NA
servidores_sanciones <- servidores %>%
mutate(tipoSancion = map_chr(tipoSancion, ~ .[['valor']]) )
sistemas2[1,] %>%
str()
'data.frame': 1 obs. of 17 variables:
$ id : chr "8a54a1ce-98b4-40f9-a52c-a272ed56f238"
$ fechaCaptura : chr "2018-05-21T17:32:28Z"
$ ejercicioFiscal : chr "2018"
$ ramo :'data.frame': 1 obs. of 2 variables:
..$ clave: int 23
..$ valor: chr "Provisiones salariales y económicas"
$ rfc : chr "ROCA9005303Z8"
$ curp : chr "ROCA900530MYNDLL04"
$ nombres : chr "Alejandra"
$ primerApellido : chr "Rodríguez"
$ segundoApellido : chr "Calderón"
$ genero :'data.frame': 1 obs. of 2 variables:
..$ clave: chr "F"
..$ valor: chr "FEMENINO"
$ institucionDependencia:'data.frame': 1 obs. of 3 variables:
..$ nombre: chr "SECRETARÍA DE ENERGÍA"
..$ siglas: chr "SENER"
..$ clave : chr "XYZ987"
$ puesto :List of 1
..$ :List of 2
.. ..$ nombre: chr "DIRECTOR DE ADMINISTRACIÓN DE BIENES INFORMÁTICOS"
.. ..$ nivel : chr "M11"
$ tipoArea :List of 1
..$ :'data.frame': 2 obs. of 2 variables:
.. ..$ clave: chr "T" "RE"
.. ..$ valor: chr "TÉCNICA" "RESPONSABLE DE LA EJECUCIÓN"
$ nivelResponsabilidad :List of 1
..$ :'data.frame': 1 obs. of 2 variables:
.. ..$ clave: chr "R"
.. ..$ valor: chr "RESOLUCIÓN"
$ tipoProcedimiento :List of 1
..$ :'data.frame': 1 obs. of 2 variables:
.. ..$ clave: int 1
.. ..$ valor: chr ""
$ superiorInmediato :'data.frame': 1 obs. of 7 variables:
..$ nombres : chr "PEDRO"
..$ primerApellido : chr "CRUZ"
..$ segundoApellido: chr "MEDINA"
..$ curp : chr "CUMP770826HMNRDD96"
..$ rfc : chr "CUMP7708269R6"
..$ puesto :'data.frame': 1 obs. of 2 variables:
.. ..$ nombre: chr "Director General"
.. ..$ nivel : chr "CFM2300003"
..$ genero :'data.frame': 1 obs. of 2 variables:
.. ..$ clave: chr NA
.. ..$ valor: chr NA
$ observaciones : chr ""